package com.localShare.load;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.widget.ImageView;

import com.ipackage.ContentLoad;
import com.localShare.Constant;
import com.util.ImageLoad;
import com.util.Screen;
import com.util.SharedPreferencesUtil;

/**
 * Created by 883564
 * on 2016/4/20.
 * 单图片加载实现类
 */
public class SingleImageLoad implements ContentLoad {
    /**
     * 图片加载方法
     * @param activity 上下文
     * @param object 加载的目标对象
     * @param intent 待加载的数据
     * @return 返回值当前未使用，无实际意义
     */
    @Override
    public int load(Activity activity,Object object,Intent intent) {
        //用于显示图片的ImageView
        ImageView iv=(ImageView)object;
        //获取Intent中数据
        Bundle extras=intent.getExtras();
        if(null!=extras&&extras.containsKey(Intent.EXTRA_STREAM)){
            //获取uri
            Uri uri=extras.getParcelable(Intent.EXTRA_STREAM);
            if(uri!=null){
                Screen screen=new Screen();
                //加载图片
                Bitmap bitmap=new ImageLoad().load(activity,uri,screen.getScreenWidth(activity),screen.getScreenHeight(activity));
                //显示图片
                iv.setImageBitmap(bitmap);
                //获取首选项工具类
                SharedPreferencesUtil sharedPreferencesUtil=new SharedPreferencesUtil();
                //存储URI
                sharedPreferencesUtil.saveString(activity, Constant.PRIVATE_SHARED_PREFERENCE,Constant.SINGLE_IMAGE_URI,uri.toString());
            }
        }
        return 1;
    }

    /**
     * 加载数据，从存储记录中读取
     * @param activity 上下文
     * @param iv 显示图片的ImageView
     * @param uri 图片uri
     */
    public void load(Activity activity,ImageView iv,Uri uri){
        //屏幕工具类
        Screen screen=new Screen();
        //加载图片
        Bitmap bitmap=new ImageLoad().load(activity,uri,screen.getScreenWidth(activity),screen.getScreenHeight(activity));
        //显示图片
        iv.setImageBitmap(bitmap);
    }
}
